import { Tabs } from 'nextra/components'
import { Callout } from 'nextra/components'

# CDN 配置

用于配置 CDN 路径。为了减小 Umo Editor 核心包的体积和提升加载速度，Umo Editor 通过配置 CDN 引入部分静态资源，这些静态资源包含第三方模块、图片、图标资源等。

## 默认配置

```js
{
  cdnUrl: 'https://unpkg.com/@umoteam/editor-external@4',
}
```

## 使用公共 CDN

```js
{
  // 使用 unpkg.com
  cdnUrl: 'https://unpkg.com/@umoteam/editor-external@4',
  // 或使用 jsdelivr.net
  // cdnUrl: 'https://cdn.jsdelivr.net/npm/@umoteam/editor-external@4',
}
```

## 使用本地资源

对想进一步提高加载速度，或者内网环境等场景，您可以将 `node_modules/@umoteam/editor-external/` 文件夹下的文件复制到 `public/` 下，并设置 `cdnUrl` 为 `location.origin` 即可。

您可以在项目**根目录下**，通过以下命令快速拷贝文件：

<Tabs items={['Windows', 'Linux / MacOS / Others']}>
<Tabs.Tab>
```bash
mkdir -p public/libs
mkdir -p public/icons
mkdir -p public/static
xcopy node_modules\@umoteam\editor-external\libs\* public\libs\ /E /I
xcopy node_modules\@umoteam\editor-external\icons\* public\icons\ /E /I
xcopy node_modules\@umoteam\editor-external\static\* public\static\ /E /I
```
</Tabs.Tab>
<Tabs.Tab>
```bash
mkdir -p public/libs
mkdir -p public/icons
mkdir -p public/static
cp -r node_modules/@umoteam/editor-external/libs/* public/libs/
cp -r node_modules/@umoteam/editor-external/icons/* public/icons/
cp -r node_modules/@umoteam/editor-external/static/* public/static/
```
</Tabs.Tab>
</Tabs>

<Callout type="warning" emoji="⚠️">
**注意**：每次更新 `@umoteam/editor` 版本后，请复制最新的 `@umoteam/editor-external` 到 `public` 目录下。注意和 `@umoteam/editor-external` 版本号保持同步。
</Callout>

<Callout type="info">
您也可以将 `node_modules/@umoteam/editor-external/` 文件夹下的文件放置到合适的位置，并正确的配置 `cdnUrl`，注意不要以 `/` 结尾。
</Callout>

## 配置项说明

### cdnUrl

**说明**：CDN 路径。

**类型**：`String`

**默认值**：`https://unpkg.com/@umoteam/editor-external@latest`

**配置项**：合法的[URL](https://developer.mozilla.org/zh-CN/docs/Learn/Common_questions/Web_mechanics/What_is_a_URL)值，不要以 `/` 结尾。
